---
description: "Reference for Nitric's Go library - Sets the cron expression and one or many handlers to be triggered."
---

# Go - Schedule.Cron()

<Note>
  This is reference documentation for the Nitric Go SDK. To learn about
  Schedules in Nitric start with the [Schedule docs](/schedules).
</Note>

Sets the cron expressions that determines when the schedule triggers and a callback to be triggered.

```go
import (
	"github.com/nitrictech/go-sdk/nitric"
)

func main() {
	nitric.NewSchedule("archive-data").Cron("0 1 1 * *", func() {
		// code which archives data
	})

	nitric.Run()
}
```

## Parameters

<Properties>
  <Property name="expression" required type="string">
    The expression that sets when the schedule will be triggered. This value
    should be a standard 5 value Unix cron expression, e.g., '0 1 1 * *'.
  </Property>
  <Property name="handler" required type="interface{}">
    The callback function to use as the handler which will run on the defined
    frequency.
  </Property>
</Properties>

## Examples

### Create a Schedule

```go
import (
  "fmt"

  "github.com/nitrictech/go-sdk/nitric"
)

func main() {
  // every 15 minutes
  nitric.NewSchedule("check for updates").Cron("0/15 * * * *", func () {
    fmt.Println("checking for updates")
  })

  // at 1:00am on the 1st of every month
  nitric.NewSchedule("delete stale data").Cron("0 1 1 * *", func () {
    fmt.Println("deleting stale data")
  })

  nitric.Run()
}
```
